1. Field of the Invention
The present invention relates generally to an improved data processing system, and in particular, to a method and apparatus for processing requests from clients. Still more particularly, the present invention provides a method and apparatus for processing documents received from clients using services associated with a gateway.
2. Background of the Invention
The Internet, also referred to as an “internetwork”, is a set of computer networks, possibly dissimilar, joined together by means of gateways that handle data transfer and the conversion of messages from a protocol of the sending network to a protocol used by the receiving network. When capitalized, the term “Internet” refers to the collection of networks and gateways that use the TCP/IP suite of protocols.
The Internet has become a cultural fixture as a source of both information and entertainment. Many businesses are creating Internet sites as an integral part of their marketing efforts, informing consumers of the products or services offered by the business or providing other information seeking to engender brand loyalty. Many federal, state, and local government agencies are also employing Internet sites for informational purposes, particularly agencies which must interact with virtually all segments of society such as the Internal Revenue Service and secretaries of state. Providing informational guides and/or searchable databases of online public records may reduce operating costs. Further, the Internet is becoming increasingly popular as a medium for commercial transactions.
Currently, the most commonly employed method of transferring data over the Internet is to employ the World Wide Web environment, also called simply “the Web”. Other Internet resources exist for transferring information, such as File Transfer Protocol (FTP) and Gopher, but have not achieved the popularity of the Web. In the Web environment, servers and clients effect data transaction using the Hypertext Transfer Protocol (HTTP), a known protocol for handling the transfer of various data files (e.g., text, still graphic images, audio, motion video, etc.). The information in various data files is formatted for presentation to a user by a standard page description language, the Hypertext Markup Language (HTML). In addition to basic presentation formatting, HTML allows developers to specify “links” to other Web resources identified by a Uniform Resource Locator (URL). A URL is a special syntax identifier defining a communications path to specific information. Each logical block of information accessible to a client, called a “page” or a “Web page”, is identified by a URL. The URL provides a universal, consistent method for finding and accessing this information, not necessarily for the user, but mostly for the user's Web “browser”. A browser is a program capable of submitting a request for information identified by an identifier, such as, for example, a URL. A user may enter a domain name through a graphical user interface (GUI) for the browser to access a source of content. The domain name is automatically converted to the Internet Protocol (IP) address by a domain name system (DNS), which is a service that translates the symbolic name entered by the user into an IP address by looking up the domain name in a database.
Many businesses initiate and execute business transactions over the Web. Many of these transactions involve the exchange of documents, such as Web pages or extensible markup language (XML) documents. For example, a client of a supplier may request goods by submitting an order contained in an XML document. When this document is received by the supplier, the document is processed to fill the order. A receipt and/or invoice may be returned as a response to the order. This receipt and/or invoice may be returned in an XML document to the client.
Currently, the workflow used in handling business transactions and other types of requests involves a process or workflow that is implemented within a server computer. This processor workflow is static. Changes to the workflow require redesigning of the program or process implementing the workflow. For example, a supplier may desire to selectively send invoices along with receipts to some clients while only sending receipts to other clients. If the workflow system currently sends receipts and invoices to all clients, the workflow system must be altered to allow for selective sending of invoices. Making such changes may be time consuming and complex depending on the architecture of the workflow implemented in the server.
Therefore, it would be advantageous to have an improved method, apparatus, and computer instructions for allowing dynamic changes to processes used to handle client requests.